/**
 * http
 *       4.http请求
 */
public class Test {
    public static void main(String[] args) {
        /**
         * 4.http请求
         *      1.认识URL
     *          2.关于 URL encode：将需要转码的字符转为16进制，然后从右到左，取4位(不⾜4位直接处理)，每2位做⼀位，前⾯加上%，编码成%XY格式
     *          3.认识方法：
    *                  1.GET：
    *                        1.作用：常⽤于获取服务器上的某个资源
    *                        1.GET特点：GET 请求的特点
    *                             1.⾸⾏的第⼀部分为 GET
    *                             2.URL 的 query string 可以为空, 也可以不为空.
    *                             3.header 部分有若⼲个键值对结构.
    *                             4.body 部分为空
    *                  2.POST方法
    *                          1.作用：多⽤于提交⽤⼾输⼊的数据给服务器
    *                          2.POST 请求的特点
                                1.⾸⾏的第⼀部分为 POST
                                2.URL 的 query string ⼀般为空 (也可以不为空)
                                3.header 部分有若⼲个键值对结构.
                                4.body 部分⼀般不为空. body 内的数据格式通过 header 中的 Content-Type 指定. body 的⻓度由 header 中的 Content-Length 指定
                    3.GET和POST的区别
                        1.语义不同: GET ⼀般⽤于获取数据, POST ⼀般⽤于提交数据.
                        2.GET 的 body ⼀般为空, 需要传递的数据通过 query string 传递, POST 的 query string ⼀般为空, 需要传递的数据通过 body 传递
                        3.GET 请求⼀般是幂等的, POST 请求⼀般是不幂等的. (如果多次请求得到的结果⼀样, 就视为请求是
    幂等的).
                        4.GET 可以被缓存, POST 不能被缓存. (这⼀点也是承接幂等性)
                4.认识请求报头
                    1.Host: 服务器主机的地址和端⼝
                    2.Content-Length:表⽰ body 中的数据⻓度.
                    3.Content-Type:表⽰请求的 body 中的数据格式
                    4.User-Agent (简称 UA)：表⽰浏览器/操作系统的属性
                    5.Referer：表⽰这个⻚⾯是从哪个⻚⾯跳转过来的
     */
    }
}
